Spusteni dotazu IBX
Otázka od: Pavel Karban
6. 4. 2004 10:15
Zdravim,
mam dotaz ohledne vytvoreni procedury na FireBirdu 1.5. Potrebuji
nahradit proceduru pri upgradu, mam upgradovaci skript, ve kterem
postupne dropnu stavajici proceduru, vytvorim prazdnou a nakonec ji
alternu. Kdyz pustim tento sled pres IBExpert, neni zadny problem. Ten
nestava pri spustneni pres IBX. Dotaz spoustim pres TIBQuery.
dropnuti procedury:
drop procedure nazev
--- probehne v poradku
vytvoreni prazdne procedury (kvuli zavislostem):
SET TERM ^ ;
CREATE PROCEDURE nazev (
IN_TEXT VARCHAR(50))
RETURNS (
ID INTEGER)
AS
BEGIN
EXIT;
END^
--- probehne v poradku
zmena tela procedury:
SET TERM ^ ;
ALTER PROCEDURE nazev (
IN_TEXT VARCHAR(50))
RETURNS (
ID INTEGER)
AS
begin
for select
ID
from tabulka
order by ID
into
:ID
do
suspend;
end^
--- padne na radku zacinajici :ID, chyba neznamy token
Zajimalo by me, jestli to muze byt zpusobeno nekompatibilitou IBX vuci
FireBird 1.5. Nebo kde by mohla byt chyba.
Diky Pavel Karban
Odpovedá: petr palicka
6. 4. 2004 10:27
Ahoj,
musis poustet postupne jeden dotaz za druhym.
samotna TIBSQL (TIBQUERY) neumi skript rozparsovat
na jednotlive prikazy. Nebo mrkni na TIBSCRIPT.
Ta by to mela umet.
Peca
Odpovedá: Pavel Karban
6. 4. 2004 11:04
Dotazy poustim postupne, v tom problem neni. TIBScript nikde nevidim,
ani v helpu na nej neni odkaz.
Mam vlastni parsovani (inspirovano ze zdrojaku GMarathonu), podle
oddelovacu, funguje dobre.
Neprojde akorat ten posledni dotaz (alter procedure).
P. Karban
petr palicka wrote:
>Ahoj,
>
> musis poustet postupne jeden dotaz za druhym.
>samotna TIBSQL (TIBQUERY) neumi skript rozparsovat
>na jednotlive prikazy. Nebo mrkni na TIBSCRIPT.
>Ta by to mela umet.
>
>Peca
>
>
>
>
>
>
Odpovedá: Pavel Poles
6. 4. 2004 11:54
> Zajimalo by me, jestli to muze byt zpusobeno nekompatibilitou IBX vuci
> FireBird 1.5. Nebo kde by mohla byt chyba.
Musis vypnout u IBQuery CheckParams, nebo tak nejak se to jmenuje,
pokud je to true, tak se snazi slova v SQL zacinajici dvojteckou nahradit
z kolekce Params.
Pavel Poles
Odpovedá: Karel Rys
6. 4. 2004 12:35
Pavel Karban dne 6 Apr 2004 v 11:07:
> into
> :ID
> do
> suspend;
> end^
> --- padne na radku zacinajici :ID, chyba neznamy token
Ahoj,
u te IbQuery nebo cim to spoustis se bude muset nastavit ParamCheck:=false;
Snad je to tim.
Karel Rys
Odpovedá: Lstiburek Pavel
6. 4. 2004 12:56
Jmeno tabulky nebo sloupce nemuze byt parametrem dotazu.
Pavel
> From: Karel Rys [mailto:delphi@zas-me.cz]
> Pavel Karban dne 6 Apr 2004 v 11:07:
>
> > into
> > :ID
> > do
> > suspend;
> > end^
> > --- padne na radku zacinajici :ID, chyba neznamy token
>
> u te IbQuery nebo cim to spoustis se bude muset nastavit
> ParamCheck:=false;
>
> Snad je to tim.
Odpovedá: Jaroslav Uher
6. 4. 2004 13:50
On 6 Apr 2004 at 11:55, Pavel Karban wrote:
> Dotazy poustim postupne, v tom problem neni. TIBScript nikde nevidim,
> ani v helpu na nej neni odkaz.
nepises jake mas Delphi.
U D5 a D6 potrebujes INTERBASE EXPRESS Xtras kit
potom nepotrebujes zadne parsovani a staci pouze:
IBScript1.Script := SynEdit.Lines;
Screen.Cursor := crHourGlass;
try
IBScript1.ExecuteScript;
finally
Screen.Cursor := crDefault;
end;
Jarek Uher
Odpovedá: Jan Rizek
7. 4. 2004 10:57
Musite si nainstalkovat IBX 6.04 mate asi verzi 6.02 - nejspis
v 6.04 uz IBScript je -
download najdete na Borland.com - hledejte IBX 6.04 nebo napiste - poslu vam
to
Pokud ovsem pouzivate D6 - jinak neposlouzim..
JR